home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Belgian Amiga Club - ADF Collection
/
BS1 part 05.zip
/
BS1 part 5
/
PDraw3.0.adf
/
pdraw_dat.lzh
/
pdpsprlg
< prev
next >
Wrap
Text File
|
1992-07-15
|
14KB
|
586 lines
%==================================================================%
% Professional Draw PostScript Prologue file: V3.01, July 15, 1992 %
%==================================================================%
/uniqueid 0 def
/amigavec [
8#055 /hyphen
8#230 /dotlessi
8#231 /grave
8#232 /acute
8#233 /circumflex
8#234 /tilde
8#235 /dieresis
8#236 /ring
8#237 /cedilla
8#240 /space
8#241 /exclamdown
8#242 /cent
8#243 /sterling
8#244 /currency
8#245 /yen
8#246 /bar
8#247 /section
8#250 /dieresis
8#251 /copyright
8#252 /ordfeminine
8#253 /guillemotleft
8#254 /logicalnot
8#255 /.notdef
8#256 /registered
8#257 /macron
8#260 /ring
8#261 /.notdef
8#262 /.notdef
8#263 /dagger
8#264 /.notdef
8#265 /.notdef
8#266 /paragraph
8#267 /bullet
8#270 /quotesinglbase
8#271 /.notdef
8#272 /ordmasculine
8#273 /guillemotright
8#274 /.notdef
8#275 /.notdef
8#276 /.notdef
8#277 /questiondown
8#300 /Agrave
8#301 /Aacute
8#302 /Acircumflex
8#303 /Atilde
8#304 /Adieresis
8#305 /Aring
8#306 /AE
8#307 /Ccedilla
8#310 /Egrave
8#311 /Eacute
8#312 /Ecircumflex
8#313 /Edieresis
8#314 /Igrave
8#315 /Iacute
8#316 /Icircumflex
8#317 /Idieresis
8#320 /.notdef
8#321 /Ntilde
8#322 /Ograve
8#323 /Oacute
8#324 /Ocircumflex
8#325 /Otilde
8#326 /Odieresis
8#327 /.notdef
8#330 /Oslash
8#331 /Ugrave
8#332 /Uacute
8#333 /Ucircumflex
8#334 /Udieresis
8#335 /.notdef
8#336 /.notdef
8#337 /germandbls
8#340 /agrave
8#341 /aacute
8#342 /acircumflex
8#343 /atilde
8#344 /adieresis
8#345 /aring
8#346 /ae
8#347 /ccedilla
8#350 /egrave
8#351 /eacute
8#352 /ecircumflex
8#353 /edieresis
8#354 /igrave
8#355 /iacute
8#356 /icircumflex
8#357 /idieresis
8#360 /.notdef
8#361 /ntilde
8#362 /ograve
8#363 /oacute
8#364 /ocircumflex
8#365 /otilde
8#366 /odieresis
8#367 /.notdef
8#370 /oslash
8#371 /ugrave
8#372 /uacute
8#373 /ucircumflex
8#374 /udieresis
8#375 /.notdef
8#376 /.notdef
8#377 /ydieresis
] def
/bdef {bind def} bind def
/ldef {load def} bdef
/n /newpath ldef
/m2 /moveto ldef
/l2 /lineto ldef
/c2 /curveto ldef
/rm /rmoveto ldef
/rl /rlineto ldef
/gs /gsave ldef
/gr /grestore ldef
/g /setgray ldef
/s /stroke ldef
%
% Font handling routines
%
/dontCopyID false def
/copyfont {
{ exch dup /FID ne
{
dup /UniqueID eq dontCopyID and
{pop pop}
{
dup /Encoding eq
{ exch dup length array copy outfontdict 3 1 roll put}
{ exch outfontdict 3 1 roll put}
ifelse
}
ifelse
}
{ pop pop}
ifelse
} forall
} bdef
/recode {
copyfont dup dup
outfontdict /FontName 3 -1 roll put
amigavec aload pop
amigavec length 2 idiv
{outfontdict /Encoding get 3 1 roll put} repeat
} bdef
/defamigafont {
/fntsclmtx [0 0 0 0 0 0] def
exch
dup fntsclmtx exch 0 exch put
neg fntsclmtx exch 3 exch put
findfont fntsclmtx makefont setfont
} bdef
/deffont {
3 -1 roll
{
dup dup length dup 5 add string /newnamestr exch def
exch newnamestr copy pop newnamestr exch (Amiga) putinterval
newnamestr cvn dup FontDirectory exch known
{exch pop}
{
exch cvn findfont
dup maxlength 2 add dict /outfontdict exch def
/dontCopyID false def recode
outfontdict definefont pop
}
ifelse
}
{ cvn }
ifelse
defamigafont
} bdef
/rect 4 array def % used in dobox
/dorect {
n
rect aload pop 4 copy m2 3 1 roll exch l2
4 2 roll l2 l2
closepath
} bdef
/dobox { %clip trnsp x1 y1 x2 y2 dobox
rect astore pop
{} {dorect 1 g fill} ifelse
{dorect clip} if
} bdef
/dogreyimage { % width height xscl yscl x0 y0 dogreyimage
5 index 1 add 2 idiv string
/picstr exch def
translate scale
4 [1 0 0 1 0 0]
{currentfile picstr readhexstring pop }
image
} bdef
/do8greyimage { % width height xscl yscl x0 y0 do8greyimage
% same as above, but 8 bits per sample
5 index string
/picstr exch def
translate scale
8 [1 0 0 1 0 0]
{currentfile picstr readhexstring pop }
image
} bdef
/do8bingreyimage { % width height xscl yscl x0 y0 do8greyimage
% same as above, but 8 bits per sample
5 index string
/picstr exch def
translate scale
8 [1 0 0 1 0 0]
{currentfile picstr readstring pop }
image
} bdef
/docolorimage { % width height xscl yscl x0 y0 docolorimage
4 dict begin
5 index 1 add 2 idiv
dup /cstr exch string def
dup /ystr exch string def
dup /mstr exch string def
/kstr exch string def
translate scale
4 [1 0 0 1 0 0]
{ currentfile cstr readhexstring pop }
{ currentfile mstr readhexstring pop }
{ currentfile ystr readhexstring pop }
{ currentfile kstr readhexstring pop }
true 4 colorimage
end
} bdef
/do8colorimage { % width height xscl yscl x0 y0 docolorimage
4 dict begin
5 index
dup /cstr exch string def
dup /ystr exch string def
dup /mstr exch string def
/kstr exch string def
translate scale
8 [1 0 0 1 0 0]
{ currentfile cstr readhexstring pop }
{ currentfile mstr readhexstring pop }
{ currentfile ystr readhexstring pop }
{ currentfile kstr readhexstring pop }
true 4 colorimage
end
} bdef
/bwline { % linewidth linejoin linecap grey dash 0 bwline
setdash g setlinecap setlinejoin setlinewidth
} bdef
/colorline { %linewidth linejoin linecap c m y k dash 0 colorline
setdash setcmykcolor setlinecap setlinejoin setlinewidth
} bdef
/ellipsedict 2 dict def
ellipsedict /mtrx matrix put
/ellipse { % xr yr angle cx cy ellipse
ellipsedict begin
/savematrix mtrx currentmatrix def
translate
rotate
scale
0 0 1 0 360 arc
savematrix setmatrix
end
} bdef
/initpage {
gs
mir {pagexsize 0 translate -1 1 scale} if
0 pageysize translate
0.96 -0.96 scale
} bdef
/endpage {
gr
} bdef
/getpagetype { % width ht orient getpagetype width ht orient pagetype
dup 0 eq {0}
{
3 copy pop
2 copy 709 le exch 499 le and
{pop pop 4} {
2 copy 842 le exch 596 le and
{pop pop 3} {
2 copy 792 le exch 612 le and
{pop pop 1} {
1008 le exch 612 le and
{2} {0} ifelse
} ifelse
} ifelse
} ifelse
} ifelse
} bdef
/initcolorpage { % pitch1 angle1 ... pitch4 angle4 ysize width ht orient neg mirror manual #copies epsf----
commoninit
12 dict begin
/ka exch def /kf exch def
/ba exch def /bf exch def
/ga exch def /gf exch def
/ra exch def /rf exch def
currentcolorscreen
/kp exch def pop pop
/bp exch def pop pop
/gp exch def pop pop
/rp exch def pop pop
rf ra /rp load gf ga /gp load bf ba /bp load kf ka /kp load setcolorscreen
end
} bdef
/initbwpage { % pitch angle ysize width ht orient neg mirror manual #copies epsf ----
commoninit
currentscreen 3 1 roll pop pop setscreen
} bdef
/donegprint
{
0 g
0 0 m2 pagexsize 0 l2 pagexsize pageysize l2
0 pageysize l2 closepath fill
[{1 exch sub} /exec load currenttransfer /exec load] cvx settransfer
} bdef
/commoninit { % ysize width ht orient neg mirror manual #copies epsf ----
{ pop pop pop pop pop pop pop
/pageysize exch def
}
{
/#copies exch def
/man exch def
/mir exch def
/negat exch def
3 -1 roll dup /pagexsize exch def 3 1 roll
4 -1 roll dup /pageysize exch def 4 1 roll
statusdict begin
statusdict /manualfeed known
{/manualfeed man def} if
statusdict /mirrorprint known
{/mirrorprint mir def userdict begin /mir false def end} if
statusdict /negativeprint known
{/negativeprint negat def} {negat {donegprint} if} ifelse
getpagetype
dup 0 ne {
dup 1 eq {
userdict /letter known
{letter} {pop 0} ifelse
} if
dup 2 eq {
userdict /legal known
{legal} {pop 0} ifelse
} if
dup 3 eq {
userdict /a4 known
{a4} {pop 0} ifelse
} if
dup 4 eq {
userdict /b5 known
{b5} {pop 0} ifelse
} if
} if
0 eq statusdict /setpage known and
{setpage} {pop pop pop} ifelse
end
pop % pop pageysize as it was already used
}
ifelse
} bdef
/crop { % x0 y0 x1 y1 l s crop
2 dict begin
/spc exch def /len exch def
gs initclip n
0.25 setlinewidth 0 setgray
2 copy m2 0 spc rm 0 len rl 2 copy m2 spc 0 rm len 0 rl
4 2 roll 2 copy m2 0 spc neg rm 0 len neg rl 2 copy m2 spc neg 0 rm len neg 0 rl
4 1 roll exch
2 copy m2 0 spc rm 0 len rl m2 spc neg 0 rm len neg 0 rl
exch 2 copy m2 spc 0 rm len 0 rl m2 0 spc neg rm 0 len neg rl
s gr
end
} bdef
/cross { % xc yc len cross
1 dict begin
/len exch def
m2 0 len -2 div rm 0 len rl
len -2 div dup rm len 0 rl
s
end
} bdef
/oneregister { % xc yc len oneregister
0 setgray 0.25 setlinewidth
3 copy 3 copy cross 4 div 0 360 arc fill
1 setgray 2 div cross
} bdef
/drwcalibbar { % x0 y0 wid len drwcalibbar
fourcol not component 1 eq or {
5 dict begin
n
/len exch def /width exch def /y0 exch def /x0 exch def
/increment width 10 div def
increment len gt {
/increment len def
} if
x0 y0 m2
0.0 0.1 1.0 {
setgray
len neg 0 rl 0 increment rl len 0 rl currentpoint fill m2
} for
end
}
{
pop pop pop pop
} ifelse
} bdef
/drwpatch { % k y m c len incr drwpatch
3 dict begin
/incr exch def /len exch def
component 1 eq {pop pop pop /grayval exch def}{
component 2 eq {pop pop /grayval exch def pop}{
component 3 eq {pop /grayval exch def pop pop}{
component 4 eq {/grayval exch def pop pop pop}{
/grayval -1 def pop pop pop pop
}ifelse
}ifelse
}ifelse
} ifelse
grayval -1 ne {
grayval setgray
len neg 0 rl 0 incr neg rl len 0 rl currentpoint fill m2
} if
end
} bdef
/drwcolcalib { % gr1 gr2 x0 y0 wid len drwcolcalib
7 dict begin
n
/len exch def /width exch def /y0 exch def /x0 exch def
/gr2 exch def /gr1 exch def
/increment width 10 div def
increment len gt {
/increment len def
} if
x0 y0 m2
gr1 1.0 1.0 1.0 len increment drwpatch % K
1.0 gr1 gr1 gr1 len increment drwpatch % CMY
1.0 gr2 1.0 gr2 len increment drwpatch % CY
1.0 1.0 1.0 gr2 len increment drwpatch % C
1.0 1.0 gr2 gr2 len increment drwpatch % CM
1.0 1.0 gr2 1.0 len increment drwpatch % M
1.0 gr2 gr2 1.0 len increment drwpatch % MY
1.0 gr2 1.0 1.0 len increment drwpatch % Y
end
} bdef
/register { % x0 y0 x1 y1 l s register
6 dict begin
gs initclip n
/spc exch def /len exch def
/y1 exch def /x1 exch def /y0 exch def /x0 exch def
x1 x0 add 2 div y0 spc sub len 2 div sub len oneregister
x1 x0 add 2 div y1 spc len 2 div add add len oneregister
x0 spc sub len 2 div sub y1 y0 add 2 div len oneregister
x1 spc len 2 div add add y1 y0 add 2 div len oneregister
gr
end
} bdef
%%%% Gradient Fill operators: %%%%%%
/defhexstr { % length /strvar defhexstr -> length
currentfile 2 index string readhexstring pop def
} bind def
/getgraystr { % length getgraystr -> length + /gray
/gray defhexstr
} bind def
/getcmykstr { % length getcmykstr -> length + /cstr+/mstr+/ystr+/kstr
/cstr defhexstr
/mstr defhexstr
/ystr defhexstr
/kstr defhexstr
} bind def
/setgraygrad { % index setgraygrad
gray exch get 255.0 div setgray
} bind def
/setcmykgrad { % index setcmykgrad -> index
dup cstr exch get 255.0 div % -> index cval
1 index mstr exch get 255.0 div % -> index cval mval
2 index ystr exch get 255.0 div % -> index cval mval yval
kstr 5 -1 roll get 255.0 div % -> cval mval yval kval
setcmykcolor
} bind def
/radgrad { % cx cy radius /setcol steps /getstr radgrad
6 dict begin
gsave eoclip
cvx exec % read necessary strings with color information
/steps exch def
/setcol exch def
dup steps div /rstep exch def % -> cx cy radius
0 1 steps 1 sub {
setcol
newpath 3 copy 0 360 arc eofill
rstep sub
} for
pop pop pop
grestore
end
} bind def
/linXgrad { % x1 y1 x2 y2 wd /setcol steps /getstr linXgrad
7 dict begin
gsave eoclip
cvx exec % read necessary strings with color information
/steps exch def
/setcol exch def
steps div /dx exch def % -> x1 y1 x2 y2
0 1 steps 1 sub {
setcol
newpath
3 index dx add 3 index m2 % -> x1 y1 x2 y2 {x1+dx y1}
1 index dx add 1 index l2 % -> x1 y1 x2 y2 {x2+dx y2}
4 copy l2 l2 % -> x1 y1 x2 y2 {x1 y1} {x2 y2}
closepath eofill
dx 0 translate
} for
pop pop pop pop
grestore
end
} bind def
/linYgrad { % x1 y1 x2 y2 ht /setcol steps /getstr linYgrad
7 dict begin
gsave eoclip
cvx exec % read necessary strings with color information
/steps exch def
/setcol exch def
steps div neg /dy exch def % -> x1 y1 x2 y2
0 1 steps 1 sub {
setcol
newpath
3 index 3 index dy add m2 % -> x1 y1 x2 y2 {x1 y1+dy}
2 copy dy add l2 % -> x1 y1 x2 y2 {x2 y2+dy}
4 copy l2 l2 % -> x1 y1 x2 y2 {x1 y1} {x2 y2}
closepath eofill
0 dy translate
} for
pop pop pop pop
grestore
end
} bind def
%================================================================%
%%EndProlog